package br.infnet.blocoarquiteturajava.managebean;

import java.util.ArrayList;
import java.util.List;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;

import br.infnet.blocoarquiteturajava.dominio.Usuario;

@ManagedBean(name = "autenticacao")
@SessionScoped
public class AutenticacaoMB {

	private static List<Usuario> usuarios = new ArrayList<Usuario>();

	private Usuario usuario;
	private String message;

	public AutenticacaoMB() {
		super();
		usuario = new Usuario();
	}

	public Usuario getUsuario() {
		return usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

	public String getMessage() {
		return message;
	}

	public void setMessage(String message) {
		this.message = message;
	}

	static {
		Usuario usuario1 = new Usuario("gerente", "123456");
		Usuario usuario2 = new Usuario("operador", "987654");
		
		usuarios.add(usuario1);
		usuarios.add(usuario2);
	}

	public String autenticar() {
		if (usuarios.contains(this.usuario)) {
			return "index?faces-redirect=true";
		} else {
			FacesContext context = FacesContext.getCurrentInstance();

			context.addMessage(null,
					new FacesMessage("Usuario/Senha incorreto"));

			return "intranet";
		}

	}
}
